import { get, post } from '../request'

/**
 * 登录 - 微信Code静默登录
 * @param code 微信Code
 * @param options 其他参数
 */
const loginByWXCode = (
  code: string,
  options: {
    /** 邀请码 */
    inviteCode?: string
    /** 邀请来源：mbti_report MBTI报告 */
    inviteFrom?: string
    /** 邀请参数：来源为mbti_report时，需要传入测试报告ID */
    inviteParam?: string
  } = {},
) => post<{ token: string }>('user/login/wechatCode', { code, ...options }, { noToken: false })

/**
 * 查询用户信息
 */
const getUserInfo = () => get<T_UserInfo>('user/get')

/**
 * 获取邀请码
 */
const getInviteCode = () => post<{ inviteCode: string }>('user/invite/code')

/**
 * 校验用户信息是否完整
 */
const userCheck = () => get('user/check')

/**
 * 退出登录
 */
const userLogout = () => post('user/logout')

export { loginByWXCode, getUserInfo, getInviteCode, userCheck, userLogout }
